import {createStore} from "vuex"

// 引入模块
import moduleA from "./modules/moduleA"
import moduleB from "./modules/moduleB"

// 创建一个实例化的vuex对象并抛出

export default createStore({
    modules:{
a:moduleA,
b:moduleB
    },
    state: {
        count: 5,
        test:'frank'
    },
    getters: {
        countAddFive: (state) => {
            return state.count + 5
        },
        countAddFiveAddTen: (state, getters) => {
            return getters.countAddFive + 10
        } 
    },
    mutations: {
        add(state) {
            state.count++
        },
        addPlayload(state,playload){
            state.count += playload.num
        }
    },
    actions: {
        addAction(context) {
            context.commit('add')
        },
        asyncAddAction({commit}) {
            setTimeout(() => {
                commit('add')
            },1000)
        },
        asyncAddployloadAction({commit},playload) {
            setTimeout(() => {
                commit('addplayload',playload)
            },1000)
        }
    }
})